프로스트바이트 엔진
[image]
1. 개요
9세대 게임기(PS5, 엑스박스 시리즈 X)용 신형 프로스트바이트 엔진의 머리카락, 안면, 군중, 기체, 건물파괴 테크 데모
EA DICE가 개발한 게임 엔진이다. 초기에는 FPS 게임에만 사용되었으나 넘버링이 올라가면서 TPS, RTS, 레이싱 게임, 스포츠 게임 등의 게임에도 사용되었다. 하드웨어의 사양 대비 그래픽이 뛰어날 뿐만 아니라 최적화도 상당히 잘 되어 있어 본 엔진이 사용된 게임이 출시될 때마다 새롭게 호평을 받고 있다. 하지만 그 반대급부로 개발의 난이도가 너무 높고 버그가 발견되는 경우가 많다는 혹평도 존재하는, 이중적 평가를 받고 있다. 2016년 현재는 EA 및 EA 산하 개발사에서 개발한 게임에만 이 엔진이 사용되고 있다.[1]
이 엔진의 특징은 HDR 사운드 렌더링과 오브젝트 파괴 등이라고 할 수 있다. 프로스트바이트3부터 하드웨어 리소스에 로우레벨 접근이 가능한 맨틀#s-3 모드가 지원되었고 15년 말부터는 AMD가 맨틀에 대한 최적화를 중단한 관계로 비슷하게 로우레벨 접근이 허용되는 공식 API인 다이렉트X12로 갈아탔다. (출시작 기준, 15년 11월 배틀프론트부터) 맨틀도 여전히 사용할 수는 있지만 AMD가 지원을 그만둔 만큼 현역일 때만 못하다.[2]
2. 버전
2.1. 프로스트바이트 1.0
[image]
프로스트바이트 1 테크 데모[3]
2008년 배틀필드 배드 컴퍼니에 사용하면서 사용된 엔진이 프로스트바이트 엔진이라고 처음 발표되었다.(이전까지의 배틀필드 시리즈는 DICE가 리프랙션게임즈 시절부터 쓰던 Refractor 엔진과 이의 개량형을 쓰고 있었다.) 엔진의 주요 특징은 파괴 효과를 담당하는 Destruction 1.0과 사실적인 돌비효과. 예를 들어 가까이서 쏘는 총성이 명확하게 ‘탕탕탕’으로 들린다면 멀리서 쏘는 총성은 희미하게 '따다닥' 정도의 소리로 들린다. 이 특징은 일반 FPS 게임들과 매우 비교되는 특징이라서 참신하다는 평을 받았다. 또한 디스트럭션 1.0을 사용해 일부 오브젝트를 파괴할 수도 있다.
2.2. 프로스트바이트 1.5
이전 프로스트바이트 엔진에서 개량되었는데 Destruction 2.0으로 업그레이드되면서 이전 버전에 비해 파괴 가능한 오브젝트가 더욱 많아졌다. 다이렉트X 11을 지원하지만 다이렉트X 11의 모든 기능을 사용하지는 않는다. 메달 오브 아너의 멀티플레이와 배틀필드 배드 컴퍼니 2에 이 버전이 사용되었다.
2.3. 프로스트바이트 2
[image]
Destruction 3.0이 도입되면서 파괴 가능한 오브젝트[4] 와 물리 엔진의 성능이 더욱 향상되었고 광원효과와 애니메이션 효과 등도 매우 발전되어 매우 호평을 받았다.
애니메이션 효과는 피파에서 쓰이던 ANT 애니메이션 엔진을[5] 일부 사용하여 움직임을 자연스럽게 만들었다.
DirectX 10를 최소사양으로 요구하기 때문에 Windows XP 환경에서는 실행하지 못한다.
발매된 게임마다 다양한 버그를 보여주는 바람에 '엔진의 안정성이 부족한 것 같다'는 평도 받기도 했다.
배틀필드 3, 메달 오브 아너: 워파이터, 니드 포 스피드: 더 런 등의 게임에 쓰였다.
2.4. 프로스트바이트 3 (빌드 2013.2)
[image]
2013년 10월에 출시된 배틀필드 4부터 도입된 프로스트바이트의 현세대 엔진이다. 바람이 불어 나무가 흔들리고 파도가 치는 등 물리 효과가 더욱 향상되었다. 개발자들의 말에 따르면 그냥 설정만 해주면 프로스트바이트가 다 해준다고 한다. Destruction 4.0으로 업그레이드되면서 파괴 효과가 더욱 최적화되어 대규모 멀티플레이어 게임에서 파괴 가능한 오브젝트가 늘어나고, 고층 건물 붕괴도 프레임 문제없이 연출이 가능해졌다. 또한, 눈이 내리는 묘사 등이 더욱 향상되었다. 버그가 많은 엔진이긴 하지만 보여주는 그래픽이나 효과에 비하면 최적화는 괜찮다는 반응. 이외에도 니드 포 스피드: 라이벌, 드래곤 에이지 인퀴지션, FIFA 17 등에 쓰였다.
엔진 차원에서 AMD의 맨틀#s-3 API를 지원한다. 그래서 프로스트바이트 3를 사용한 모든 게임이 Mantle을 지원할 예정이었는데 일반 사용자에게 Windows 10과 함께 DirectX 12가 공개된 이후 프로스트바이트 3는 이미 DirectX 12를 지원한다고 발표한데다 AMD에서 Mantle을 Vulkan으로 재정립 중이라 Mantle 지원하려는 움직임이 흐지부지되고 말았다.
2.5. 프로스트바이트 (빌드 2014.4 이후 버전)
[image]
스타워즈: 배틀프론트(2015)부터 넘버링이 제거되었다.[6] 이후 로고를 노출시키지 않고 있다가 배틀필드 1의 트레일러에서 변경된 로고가 최초로 공개되었는데, 조각 수가 38개에서 34개로 줄어들고 폰트도 바뀌었다. 프로스트바이트 3 대비 엔진이 비약적으로 발전한 것을 알려주는 것으로 추측되었고, 물리 기반 렌더링이 도입되는 것으로 밝혀졌다. 이후 프로스트바이트 3 로고를 사용하던 미러스 엣지 카탈리스트 외 사후 지원 중인 게임들이 이 로고를 달고 나오고 있다.
이때부터 프로스트바이트 엔진으로 개발된 모든 게임들은 Windows Vista, DirectX 10, 10.1을 더이상 지원하지 않고 Windows 7 이상, DirectX 11 이상을 요구하게 되었다.
이 엔진을 쓰는 게임 PC 버전의 공통점은 바로 '강제 최적화'이다. 게임 옵션에서 그래픽 세팅을 높여도 실제 기기 스펙이 따라오지 못할 경우 플레이어가 지정한 세팅을 무시하고 무조건 게임이 원활하게 돌아갈 수준으로 그래픽을 낮춘다. 이 때문에 일부러 프레임드랍을 각오하고 조금 높은 그래픽 세팅을 하려 해도 불가능하다. 울트라 옵이나 하이퍼 옵을 돌리려면 그만큼 수준의 기기를 갖추는 수 밖에 없다. 이 덕분에 한계를 넘어서서 세팅한 뒤 컴퓨터가 버티지 못하고 뻗어버리는 일은 많이 안 일어난다.
엔진에 문제가 있어 한글화를 하지 못한다는 루머가 있었으나 배틀필드 1의 게임 파일 중 한글 폰트와 멀티플레이 관련 번역이 존재한다는 것이 밝혀져 '''한글 출력이 가능하다'''는 것과, 번역 파일을 만들어 두었다는 것, 그리고 '''이 엔진을 사용한 배틀필드 V가 한글화된다는 것'''이 밝혀져 루머는 부정되었다.
물리엔진으로 프로스트바이트 엔진 빌드 2014를 사용하는 니드 포 스피드: 엣지의 경우[7] 완전한 한글/중문 출력이 가능하다는 점에서 이 루머는 완전히 거짓임을 알 수 있다.
엔진의 텍스트 처리부가 ANSI 기준으로 짜진 것도 아닐 테고, BF1 일어판은 텍스트는 물론 더빙까지 완벽히 처리한걸 생각하면 단순히 의지의 문제. 폰트 텍스처 크기 때문이라고 생각하기에는 일본어보다 글자가 많은 중국어판도 나왔기 때문에 고개를 젓게 만든다. 또한 배틀필드 1을 제외한 다른 개선된 프로스트바이트 엔진 적용 게임들에는 중/일 언어 지원을 함에도 불구하고 이런 한국어 번역 관련 파일이 단 하나도 없다. 결국 기술적 문제와는 상관없이, EA의 현지화 정책과 EA 게임들의 프로스트바이트 엔진 사용 확대가 겹쳐 생긴 루머인 것이다.
2018년 버전부터 레이트레이싱을 지원한다. Geforce 20 시리즈 중에서 RTX 모델의 GPU들은 배틀필드 V, FIFA 19 등과 같이 2018년에 출시되어 프로스트바이트 엔진으로 개발된 게임들에서 레이트레이싱 기능을 사용할 수 있다.
3. 단점
원래 배틀필드 시리즈를 위해 만들어진 DICE의 사내 엔진이었지만 EA가 자사의 모든 스튜디오가 쓸 수 있는 범용 엔진을 원하여[8] 급하게 기능이 확장되었다. 그 결과 FPS가 아닌 게임을 개발하기에 기능이 빈약하고 굉장히 사용하기 어려운 엔진으로 EA 내부에서 악명이 자자했다는 모양. EA가 개발한 몇몇 게임들의 직접적인 실패 원인 중 하나로 지목되고 있다.
옛날에는 게임상에서 나타나는 엔진 공통적인 버그가 많았었으나 최근의 타이틀에서는 많이 사라진 상태이다. 다만 프로스트바이트로 만든 게임의 경우 특유의 물리엔진 버그나 래그돌은 여전하다. 매스 이펙트: 안드로메다 개발진의 말로는 현재의 프로스트바이트 엔진은 간신히 버그를 막아둔 상태라고 하며 엔진 개량을 하기가 매우 힘든 상태라고 한다. 특히 애니메이션 부분이 그렇다고 한다. 또한 태생부터가 오직 배틀필드라는 단 하나의 IP를 위해서 탄생된 엔진이다보니 FPS 외의 장르에 적용하기에는 매우 골치아프다고 하며 RPG로 만들려고 하던 안드로메다 개발진들은 RPG와 관련된 기능을 엔진을 거의 마개조하다시피 해서 추가했다고 한다. 바이오웨어는 드래곤 에이지: 인퀴지션과 앤썸을 개발하는데 있어서도 프로스트바이트 엔진이 저장/불러오기 같은 기능조차 제대로 지원하지 않았다며 어려움을 표했다.
지금은 개발이 중지된 커맨드 앤 컨커 온라인 제작진 역시 사용하기 굉장히 어려운 엔진이었다고 증언한다. 커맨드 앤 컨커 온라인에 사용된 프로스트바이트 엔진은 두 번째 버전, 즉 프로스트바이트 2이기 때문에 지금과 같다고 할 수는 없지만, RTS 장르로서 기본적인 기술을 탑재하는데 굉장히 어려운 부분과 함께 비용이 많이 지출되는 기술이 커맨드 앤 컨커 온라인에 대한 평가가 박해지는데 일조했다고 한다. 또한 비서럴 게임즈가 개발하던 스타워즈 게임이 개발지체·최종적으로 좌초된 주된 이유 중 하나가 프로스트바이트 엔진으로 지목된다. 비서럴은 언차티드 스타일의 TPS 게임을 구상했으나 프로스트바이트 엔진에 이와 관련된 기능이 갖춰지지 않아 필요한 기술을 구축하는데만 상당한 시간이 소요되었다고 한다.
반대로 프로스트바이트 엔진을 썼지만 별다른 잡음 없이 출시된 EA 스포츠 게임들의 경우 돈을 잘 벌어오는 게임이라서 엔진 팀의 적극적인 서포트가 있었다고 한다. 그러나 EA 스포츠 겜도 자잘한 버그가 있는 등 그렇게 완벽한 상태의 게임은 아니다. 나중에 밝혀진 바에 의하면 이 쪽에 개발력이 집중되느라 앤썸 팀이 개발 기간 내내 제대로 된 서포트를 받지 못했다.
네트워크 동기화에 있어서 많은 논란을 일으켰다. 배틀필드 3와 배틀필드 4에서 넷코드 문제를 일으킨 것으로 악명 높았으며 배틀필드 4 CTE 테스트를 통해 이 문제를 해결하였다. 이 때 당시에 엔진 개발사이자 해당 게임 개발사인 DICE가 핑 차이 보정 방식을 대거 수정하였고 서버에서의 틱 레이트 (Tick Rate)를 30Hz 뿐만 아니라 60Hz 이상으로도 설정 가능하게 개선하였다. 이후 DICE의 후속작인 배틀필드 1과 스타워즈: 배틀프론트 2에서는 넷코드 문제로 인한 순간이동 현상이 보이지 않게 되었다. 배틀필드 1부터는 서버의 기본 틱 레이트는 60Hz가 되었고 고사양 서버에서는 120Hz 틱 레이트까지 도입하였다.
다만, 핑 차이를 보정하는 데에 있어서 핑이 높은 쪽이나 핑이 낮은 쪽이나 둘다 완벽하게 만족시킬 수 있는 방법이 없기에 넷코드 문제를 완벽하게 해결하기란 어렵다. 그나마 많이 개선되어서 이 엔진을 기반으로 하는 FPS 게임에서는 엄폐 과정에서의 피격 판정이나 탄착군 형성 과정을 제외하면 핑차이가 200 내외일 경우에 어느정도 쾌적한 플레이는 가능해졌다.
이 엔진을 개발한 다이스 개발진들의 대거 이직 이후 해당 엔진을 신입 개발자들이 다루기 어려워 한다는 루머가 있다. 실제로 스웨덴의 잡코리아와 비슷한 사이트에 올라오는 다이스 퇴사자의 소감문엔 프로스트바이트 엔진의 불편함을 호소하는 소감이 많은 상황이다.[9] 위에서 언급되었듯이 사용하기 굉장히 어려운 엔진이라고 되었으나 문제는 이를 잘 다뤄낼 수 있고, 개량을 할 능력이 되는 인원들이 빠져나감에 따라 그 미래가 불투명해진 상황으로 현재 배틀필드 V의 수 많은 버그와 각종 문제점을 해결하지 못하는 이유가 이것으로 지목되고 있다.
4. 사용된 게임 목록
목록은 발매일 순서로 정리되었다.
- 프로스트바이트 1
- 프로스트바이트 1.5
- 배틀필드 1943
- 배틀필드 배드 컴퍼니 2 : DirectX 11 일부 적용
- 메달 오브 아너 : 멀티플레이 한정. 싱글 플레이에는 언리얼 엔진 3이 사용됨.
- 프로스트바이트 2
- 배틀필드 3
- 니드 포 스피드: 더 런
- 메달 오브 아너: 워파이터
- 아미 오브 투: 데빌즈 카르텔
- 프로스트바이트 3 (빌드 2013.2)
- 프로스트바이트 (넘버링 제거, 빌드 2014.4 이후)
5. 기타
- EA 외부의 회사가 프로스트바이트 엔진을 이용한 사례는 없다. 2011년 초 XBLA, 스팀으로 발매되었던 브리치#라는 멀티플레이 FPS 게임이 프로스트바이트 엔진을 사용하는 게임으로 알려져 있었지만 이는 국내에서만 돌아다니는 잘못된 정보로, 실제로 브리치가 사용하는 엔진은 Hydrogen Engine이라는 개발사의 자체 엔진이다.[13] 참고로 본작은 웹진과 유저들에게 좋지 못한 평가를 받았으며 얼마 안 가 판매가 중지되었다. 덧붙여 이 엔진은 본래 같은 개발사에서 제작 중이었던 팔루자에서의 6일이라는 이라크 전쟁을 다루는 택티컬 TPS를 위해 만들어진 엔진이었지만 소재의 논란으로 인해 개발이 보류되었고[14] 이후 브리치에 사용되었다. 관련 기사, 관련 영상(영어) 게임플레이가 지형 파괴를 특색으로 한다는 점과 국내에서는 전후사정이 잘 알려지지 않아 이런 잘못된 정보가 퍼진 듯 하다. 때문에 EA가 정책을 수정하지 않는 한 앞으로도 타 개발사가 프로스트바이트 엔진을 이용할 일은 없을 것으로 보인다.
- 여담으로 엔진 이름과 로고의 모티브는 동상이다.
[1] 당초 EA는 이 엔진을 외부에 라이센싱하는 것을 고려하고 있었으나 EA 전사에 시범적으로 도입해본 뒤에 외부에 팔 수 있는 상태가 아니라고 판단하여 철회한 것으로 알려져 있다.[2] 다만 맨틀 자체는 DX12보다도 Vulkan에 계승된 것에 가깝고, OpenGL/Vulkan을 만드는 크로노스 그룹의 관련 인터뷰에서도 확인사살하고 있다. (첫줄부터 맨틀에 기반하여, '''표준화 & 대체'''하고 있다고 명시하고 있다.) 프로스트바이트 엔진의 맨틀 렌더러를 Vulkan으로 발표한 상태다. 인터뷰 전문(영어)[3] 해거드가 생각보다 오래된 캐릭터임을 보여준다.[4] 저층 건물(배틀필드 배드 컴퍼니2~배틀필드4 기준으로 2층 또는 다락방 포함 3층 건물) 대다수를 완전붕괴시킬 수 있으며, 다층건물의 벽을 파괴시켜 적을 압사시킬 수 있다.[5] EA에서 프로스트바이트 엔진을 자신들의 주력 엔진으로 쓰기 위해 투자한 것이라고 볼 수 있으며, 현재는 EA 내부 계열사 게임의 대부분이 프로스트바이트 엔진을 사용하고 있다. 예로 프로스트바이트 3를 사용한 드래곤 에이지 인퀴지션.[6] 스타워즈 배틀프론트(2015)의 초기 트레일러를 보면 프로스트바이트 3 모양에 넘버링이 없는 로고를 확인할 수 있다.[7] 하지만 아직도 게임 구동 시 프로스트바이트3 엔진 로고가 출력된다.[8] 원래 EA 산하에는 굉장히 오랜 역사를 자랑하는 크라이테리온의 렌더웨어 엔진이 있었으나 더 이상 기능개발과 유지보수가 힘들다고 판단하여 2010년을 전후로 라이센싱과 개발을 중단하였다.[9] 더불어 개발자들은 의욕이 부족하고 윗사람들의 동태를 살피는데 열중하는 회사분위기라는 소감도 있다. 대신 사내복지는 끝내준다고 한다.[10] 출시 전부터 새 엔진을 사용한다고 홍보하였는데 최신형 프로스트바이트가 아니라 비판을 받은 바 있다.[11] 2008년에 출시된 구 미러스 엣지는 언리얼 엔진 3를 사용했다.[12] 스위치 에디션은 이그나이트 엔진을 사용했다.[13] Breach is a first-person multiplayer shooter which utilizes the innovative Hydrogen Engine[14] 2012년 제작사 측에서 '취소된 것이 아니다' 라고 밝혔지만 유저들은 사실상 취소된 것으로 보고 있다.